﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using celinda.Class;
using NHibernate;
using NHibernate.Criterion;

namespace celinda.Repository
{
    public class UtilisateurRepositoryNH : BaseRepository<Utilisateur>
    {
        public IList<Utilisateur> GetUtilisateurSansSociete()
        {
            IList<Utilisateur> list;
            // implimentation here 
            using (ISession session = GetNHBSession())
            {
                session.BeginTransaction();
                list = session.CreateCriteria(typeof(Utilisateur))
                                      .Add(Restrictions.IsNull("Societe"))
                                      .List<Utilisateur>();

                session.Transaction.Commit();
            }
            return list;
        }

        public IList<Utilisateur> GetUtilisateurAvecSociete(Societe s)
        {
            IList<Utilisateur> list;
            // implimentation here 
            using (ISession session = GetNHBSession())
            {
                session.BeginTransaction();
                list = session.CreateCriteria(typeof(Utilisateur))
                                      .Add(Restrictions.Eq("Societe", s))
                                      .List<Utilisateur>();

                session.Transaction.Commit();
            }
            return list;
        }
    }
}
